﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Undsf.RmmvDbms.Attribute;
using Undsf.RmmvDbms.Data.Internal;

namespace Undsf.RmmvDbms.Data
{
    [Entity(Name = "护甲")]
    class Armor
    {
        [EntityField(Index = 0, Name = "编号", BasicType = EntityField.BasicTypeInteger)]
        public int id { get; set; }

        [EntityField(Index = 1, Name = "护甲类型", BasicType = EntityField.BasicTypeInteger)]
        public int atypeId { get; set; }

        [EntityField(Index = 2, Name = "说明", BasicType = EntityField.BasicTypeString)]
        public string description { get; set; }

        [EntityField(Index = 3, Name = "装备类型", BasicType = EntityField.BasicTypeInteger)]
        public int etypeId { get; set; }

        [EntityField(Index = 4, Name = "特性", BasicType = EntityField.BasicTypeList, ObjectType = EntityField.ObjectTypeTrait)]
        public List<Trait> traits { get; set; }

        [EntityField(Index = 5, Name = "图标", BasicType = EntityField.BasicTypeInteger)]
        public int iconIndex { get; set; }

        [EntityField(Index = 6, Name = "名称", BasicType = EntityField.BasicTypeString)]
        public string name { get; set; }

        [EntityField(Index = 7, Name = "备注", BasicType = EntityField.BasicTypeString)]
        public string note { get; set; }

        [EntityField(Index = 8, Name = "能力值变化量", BasicType = EntityField.BasicTypeList, ObjectType = EntityField.BasicTypeInteger)]
        [JsonProperty(PropertyName = "params")]
        public List<int> _params { get; set; }

        [EntityField(Index = 9, Name = "价格", BasicType = EntityField.BasicTypeInteger)]
        public int price { get; set; }
    }
}
